package com.wu.company.entity;

import javax.persistence.*;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

/**
 * POJO类PrpDcompany
 */
@Entity
@Table(name = "PRPDCOMPANY")
public class PrpDcompany implements java.io.Serializable {
	private static final long serialVersionUID = 1L;

	/** 属性机构代码 */
	private String comCode;

	/** 属性PrpDcompany--机构代码表 */
	private PrpDcompany prpDcompany;

	/** 属性机构中文名称 */
	private String comCName;

	/** 属性机构英文名称 */
	private String comEName;

	/** 属性地址中文名称 */
	private String addressCName;

	/** 属性地址英文名称 */
	private String addressEName;

	/** 属性邮编 */
	private String postCode;

	/** 属性电话 */
	private String phoneNumber;

	/** 属性taxnumber */
	private String taxnumber;

	/** 属性传真 */
	private String faxNumber;

	/** 属性归属保险公司名称 */
	private String insurerName;

	/** 属性comattribute */
	private String comattribute;

	/** 属性机构类型 */
	private String comType;

	/** 属性机构级别 */
	private String comlevel;

	/** 属性经理 */
	private String manager;

	/** 属性accountleader */
	private String accountleader;

	/** 属性cashier */
	private String cashier;

	/** 属性会计 */
	private String accountant;

	/** 属性备注 */
	private String remark;

	/** 属性最新机构代码 */
	private String newComCode;

	/** 属性效力状态 */
	private String validStatus;

	/** 属性账户归属机构代码 */
	private String acntUnit;

	/** 属性专项代码(对应会计科目) */
	private String articleCode;

	/** 属性财务专项代码 */
	private String accCode;

	/** 属性centerflag */
	private String centerflag;

	/** 属性outerpaycode */
	private String outerpaycode;

	/** 属性innerpaycode */
	private String innerpaycode;

	/** 属性标志 */
	private String flag;

	/** 属性webaddress */
	private String webaddress;

	/** 属性servicephone */
	private String servicephone;

	/** 属性reportphone */
	private String reportphone;

	/** 属性代理人代码 */
	private String agentCode;

	/** 属性agreementno */
	private String agreementno;

	/** 属性sysareacode */
	private String sysareacode;

	/** 属性combvisitrate */
	private BigDecimal combvisitrate;

	/** 属性printcomname */
	private String printcomname;

	/** 属性printaddress */
	private String printaddress;

	/** 属性pringpostcode */
	private String pringpostcode;

	/** 属性upperclaimcomcode */
	private String upperclaimcomcode;

	/** 属性sapcomcode */
	private String sapcomcode;

	/** 属性costcentercode */
	private String costcentercode;

	/** 属性groupnature */
	private String groupnature;

	/** 属性grouplevel */
	private String grouplevel;

	/** 属性saleschannelcode */
	private String saleschannelcode;

	/** 属性groupnaturedetail */
	private String groupnaturedetail;

	/** 属性taxidenno */
	private String taxidenno;

	/** 属性prpDcompanies */
	private List<PrpDcompany> prpDcompanies = new ArrayList<PrpDcompany>(0);

	/**
	 * 类PrpDcompany的默认构造方法
	 */
	public PrpDcompany() {
	}

	/**
	 * 属性机构代码的getter方法
	 */
	@Id
	@Column(name = "COMCODE")
	public String getComCode() {
		return this.comCode;
	}

	/**
	 * 属性机构代码的setter方法
	 */
	public void setComCode(String comCode) {
		this.comCode = comCode;
	}

	/**
	 * 属性PrpDcompany--机构代码表的getter方法
	 */
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "UPPERCOMCODE", nullable = false)
	public PrpDcompany getPrpDcompany() {
		return this.prpDcompany;
	}

	/**
	 * 属性PrpDcompany--机构代码表的setter方法
	 */
	public void setPrpDcompany(PrpDcompany prpDcompany) {
		this.prpDcompany = prpDcompany;
	}

	/**
	 * 属性机构中文名称的getter方法
	 */

	@Column(name = "COMCNAME")
	public String getComCName() {
		return this.comCName;
	}

	/**
	 * 属性机构中文名称的setter方法
	 */
	public void setComCName(String comCName) {
		this.comCName = comCName;
	}

	/**
	 * 属性机构英文名称的getter方法
	 */

	@Column(name = "COMENAME")
	public String getComEName() {
		return this.comEName;
	}

	/**
	 * 属性机构英文名称的setter方法
	 */
	public void setComEName(String comEName) {
		this.comEName = comEName;
	}

	/**
	 * 属性地址中文名称的getter方法
	 */

	@Column(name = "ADDRESSCNAME")
	public String getAddressCName() {
		return this.addressCName;
	}

	/**
	 * 属性地址中文名称的setter方法
	 */
	public void setAddressCName(String addressCName) {
		this.addressCName = addressCName;
	}

	/**
	 * 属性地址英文名称的getter方法
	 */

	@Column(name = "ADDRESSENAME")
	public String getAddressEName() {
		return this.addressEName;
	}

	/**
	 * 属性地址英文名称的setter方法
	 */
	public void setAddressEName(String addressEName) {
		this.addressEName = addressEName;
	}

	/**
	 * 属性邮编的getter方法
	 */

	@Column(name = "POSTCODE")
	public String getPostCode() {
		return this.postCode;
	}

	/**
	 * 属性邮编的setter方法
	 */
	public void setPostCode(String postCode) {
		this.postCode = postCode;
	}

	/**
	 * 属性电话的getter方法
	 */

	@Column(name = "PHONENUMBER")
	public String getPhoneNumber() {
		return this.phoneNumber;
	}

	/**
	 * 属性电话的setter方法
	 */
	public void setPhoneNumber(String phoneNumber) {
		this.phoneNumber = phoneNumber;
	}

	/**
	 * 属性taxnumber的getter方法
	 */

	@Column(name = "TAXNUMBER")
	public String getTaxnumber() {
		return this.taxnumber;
	}

	/**
	 * 属性taxnumber的setter方法
	 */
	public void setTaxnumber(String taxnumber) {
		this.taxnumber = taxnumber;
	}

	/**
	 * 属性传真的getter方法
	 */

	@Column(name = "FAXNUMBER")
	public String getFaxNumber() {
		return this.faxNumber;
	}

	/**
	 * 属性传真的setter方法
	 */
	public void setFaxNumber(String faxNumber) {
		this.faxNumber = faxNumber;
	}

	/**
	 * 属性归属保险公司名称的getter方法
	 */

	@Column(name = "INSURERNAME")
	public String getInsurerName() {
		return this.insurerName;
	}

	/**
	 * 属性归属保险公司名称的setter方法
	 */
	public void setInsurerName(String insurerName) {
		this.insurerName = insurerName;
	}

	/**
	 * 属性comattribute的getter方法
	 */

	@Column(name = "COMATTRIBUTE")
	public String getComattribute() {
		return this.comattribute;
	}

	/**
	 * 属性comattribute的setter方法
	 */
	public void setComattribute(String comattribute) {
		this.comattribute = comattribute;
	}

	/**
	 * 属性机构类型的getter方法
	 */

	@Column(name = "COMTYPE")
	public String getComType() {
		return this.comType;
	}

	/**
	 * 属性机构类型的setter方法
	 */
	public void setComType(String comType) {
		this.comType = comType;
	}

	/**
	 * 属性机构级别的getter方法
	 */

	@Column(name = "COMLEVEL")
	public String getComlevel() {
		return this.comlevel;
	}

	/**
	 * 属性机构级别的setter方法
	 */
	public void setComlevel(String comlevel) {
		this.comlevel = comlevel;
	}

	/**
	 * 属性经理的getter方法
	 */

	@Column(name = "MANAGER")
	public String getManager() {
		return this.manager;
	}

	/**
	 * 属性经理的setter方法
	 */
	public void setManager(String manager) {
		this.manager = manager;
	}

	/**
	 * 属性accountleader的getter方法
	 */

	@Column(name = "ACCOUNTLEADER")
	public String getAccountleader() {
		return this.accountleader;
	}

	/**
	 * 属性accountleader的setter方法
	 */
	public void setAccountleader(String accountleader) {
		this.accountleader = accountleader;
	}

	/**
	 * 属性cashier的getter方法
	 */

	@Column(name = "CASHIER")
	public String getCashier() {
		return this.cashier;
	}

	/**
	 * 属性cashier的setter方法
	 */
	public void setCashier(String cashier) {
		this.cashier = cashier;
	}

	/**
	 * 属性会计的getter方法
	 */

	@Column(name = "ACCOUNTANT")
	public String getAccountant() {
		return this.accountant;
	}

	/**
	 * 属性会计的setter方法
	 */
	public void setAccountant(String accountant) {
		this.accountant = accountant;
	}

	/**
	 * 属性备注的getter方法
	 */

	@Column(name = "REMARK")
	public String getRemark() {
		return this.remark;
	}

	/**
	 * 属性备注的setter方法
	 */
	public void setRemark(String remark) {
		this.remark = remark;
	}

	/**
	 * 属性最新机构代码的getter方法
	 */

	@Column(name = "NEWCOMCODE")
	public String getNewComCode() {
		return this.newComCode;
	}

	/**
	 * 属性最新机构代码的setter方法
	 */
	public void setNewComCode(String newComCode) {
		this.newComCode = newComCode;
	}

	/**
	 * 属性效力状态的getter方法
	 */

	@Column(name = "VALIDSTATUS")
	public String getValidStatus() {
		return this.validStatus;
	}

	/**
	 * 属性效力状态的setter方法
	 */
	public void setValidStatus(String validStatus) {
		this.validStatus = validStatus;
	}

	/**
	 * 属性账户归属机构代码的getter方法
	 */

	@Column(name = "ACNTUNIT")
	public String getAcntUnit() {
		return this.acntUnit;
	}

	/**
	 * 属性账户归属机构代码的setter方法
	 */
	public void setAcntUnit(String acntUnit) {
		this.acntUnit = acntUnit;
	}

	/**
	 * 属性专项代码(对应会计科目)的getter方法
	 */

	@Column(name = "ARTICLECODE")
	public String getArticleCode() {
		return this.articleCode;
	}

	/**
	 * 属性专项代码(对应会计科目)的setter方法
	 */
	public void setArticleCode(String articleCode) {
		this.articleCode = articleCode;
	}

	/**
	 * 属性财务专项代码的getter方法
	 */

	@Column(name = "ACCCODE")
	public String getAccCode() {
		return this.accCode;
	}

	/**
	 * 属性财务专项代码的setter方法
	 */
	public void setAccCode(String accCode) {
		this.accCode = accCode;
	}

	/**
	 * 属性centerflag的getter方法
	 */

	@Column(name = "CENTERFLAG")
	public String getCenterflag() {
		return this.centerflag;
	}

	/**
	 * 属性centerflag的setter方法
	 */
	public void setCenterflag(String centerflag) {
		this.centerflag = centerflag;
	}

	/**
	 * 属性outerpaycode的getter方法
	 */

	@Column(name = "OUTERPAYCODE")
	public String getOuterpaycode() {
		return this.outerpaycode;
	}

	/**
	 * 属性outerpaycode的setter方法
	 */
	public void setOuterpaycode(String outerpaycode) {
		this.outerpaycode = outerpaycode;
	}

	/**
	 * 属性innerpaycode的getter方法
	 */

	@Column(name = "INNERPAYCODE")
	public String getInnerpaycode() {
		return this.innerpaycode;
	}

	/**
	 * 属性innerpaycode的setter方法
	 */
	public void setInnerpaycode(String innerpaycode) {
		this.innerpaycode = innerpaycode;
	}

	/**
	 * 属性标志的getter方法
	 */

	@Column(name = "FLAG")
	public String getFlag() {
		return this.flag;
	}

	/**
	 * 属性标志的setter方法
	 */
	public void setFlag(String flag) {
		this.flag = flag;
	}

	/**
	 * 属性webaddress的getter方法
	 */

	@Column(name = "WEBADDRESS")
	public String getWebaddress() {
		return this.webaddress;
	}

	/**
	 * 属性webaddress的setter方法
	 */
	public void setWebaddress(String webaddress) {
		this.webaddress = webaddress;
	}

	/**
	 * 属性servicephone的getter方法
	 */

	@Column(name = "SERVICEPHONE")
	public String getServicephone() {
		return this.servicephone;
	}

	/**
	 * 属性servicephone的setter方法
	 */
	public void setServicephone(String servicephone) {
		this.servicephone = servicephone;
	}

	/**
	 * 属性reportphone的getter方法
	 */

	@Column(name = "REPORTPHONE")
	public String getReportphone() {
		return this.reportphone;
	}

	/**
	 * 属性reportphone的setter方法
	 */
	public void setReportphone(String reportphone) {
		this.reportphone = reportphone;
	}

	/**
	 * 属性代理人代码的getter方法
	 */

	@Column(name = "AGENTCODE")
	public String getAgentCode() {
		return this.agentCode;
	}

	/**
	 * 属性代理人代码的setter方法
	 */
	public void setAgentCode(String agentCode) {
		this.agentCode = agentCode;
	}

	/**
	 * 属性agreementno的getter方法
	 */

	@Column(name = "AGREEMENTNO")
	public String getAgreementno() {
		return this.agreementno;
	}

	/**
	 * 属性agreementno的setter方法
	 */
	public void setAgreementno(String agreementno) {
		this.agreementno = agreementno;
	}

	/**
	 * 属性sysareacode的getter方法
	 */

	@Column(name = "SYSAREACODE")
	public String getSysareacode() {
		return this.sysareacode;
	}

	/**
	 * 属性sysareacode的setter方法
	 */
	public void setSysareacode(String sysareacode) {
		this.sysareacode = sysareacode;
	}

	/**
	 * 属性combvisitrate的getter方法
	 */

	@Column(name = "COMBVISITRATE")
	public BigDecimal getCombvisitrate() {
		return this.combvisitrate;
	}

	/**
	 * 属性combvisitrate的setter方法
	 */
	public void setCombvisitrate(BigDecimal combvisitrate) {
		this.combvisitrate = combvisitrate;
	}

	/**
	 * 属性printcomname的getter方法
	 */

	@Column(name = "PRINTCOMNAME")
	public String getPrintcomname() {
		return this.printcomname;
	}

	/**
	 * 属性printcomname的setter方法
	 */
	public void setPrintcomname(String printcomname) {
		this.printcomname = printcomname;
	}

	/**
	 * 属性printaddress的getter方法
	 */

	@Column(name = "PRINTADDRESS")
	public String getPrintaddress() {
		return this.printaddress;
	}

	/**
	 * 属性printaddress的setter方法
	 */
	public void setPrintaddress(String printaddress) {
		this.printaddress = printaddress;
	}

	/**
	 * 属性pringpostcode的getter方法
	 */

	@Column(name = "PRINGPOSTCODE")
	public String getPringpostcode() {
		return this.pringpostcode;
	}

	/**
	 * 属性pringpostcode的setter方法
	 */
	public void setPringpostcode(String pringpostcode) {
		this.pringpostcode = pringpostcode;
	}

	/**
	 * 属性upperclaimcomcode的getter方法
	 */

	@Column(name = "UPPERCLAIMCOMCODE")
	public String getUpperclaimcomcode() {
		return this.upperclaimcomcode;
	}

	/**
	 * 属性upperclaimcomcode的setter方法
	 */
	public void setUpperclaimcomcode(String upperclaimcomcode) {
		this.upperclaimcomcode = upperclaimcomcode;
	}

	/**
	 * 属性sapcomcode的getter方法
	 */

	@Column(name = "SAPCOMCODE")
	public String getSapcomcode() {
		return this.sapcomcode;
	}

	/**
	 * 属性sapcomcode的setter方法
	 */
	public void setSapcomcode(String sapcomcode) {
		this.sapcomcode = sapcomcode;
	}

	/**
	 * 属性costcentercode的getter方法
	 */

	@Column(name = "COSTCENTERCODE")
	public String getCostcentercode() {
		return this.costcentercode;
	}

	/**
	 * 属性costcentercode的setter方法
	 */
	public void setCostcentercode(String costcentercode) {
		this.costcentercode = costcentercode;
	}

	/**
	 * 属性groupnature的getter方法
	 */

	@Column(name = "GROUPNATURE")
	public String getGroupnature() {
		return this.groupnature;
	}

	/**
	 * 属性groupnature的setter方法
	 */
	public void setGroupnature(String groupnature) {
		this.groupnature = groupnature;
	}

	/**
	 * 属性grouplevel的getter方法
	 */

	@Column(name = "GROUPLEVEL")
	public String getGrouplevel() {
		return this.grouplevel;
	}

	/**
	 * 属性grouplevel的setter方法
	 */
	public void setGrouplevel(String grouplevel) {
		this.grouplevel = grouplevel;
	}

	/**
	 * 属性saleschannelcode的getter方法
	 */

	@Column(name = "SALESCHANNELCODE")
	public String getSaleschannelcode() {
		return this.saleschannelcode;
	}

	/**
	 * 属性saleschannelcode的setter方法
	 */
	public void setSaleschannelcode(String saleschannelcode) {
		this.saleschannelcode = saleschannelcode;
	}

	/**
	 * 属性groupnaturedetail的getter方法
	 */

	@Column(name = "GROUPNATUREDETAIL")
	public String getGroupnaturedetail() {
		return this.groupnaturedetail;
	}

	/**
	 * 属性groupnaturedetail的setter方法
	 */
	public void setGroupnaturedetail(String groupnaturedetail) {
		this.groupnaturedetail = groupnaturedetail;
	}

	/**
	 * 属性taxidenno的getter方法
	 */

	@Column(name = "TAXIDENNO")
	public String getTaxidenno() {
		return this.taxidenno;
	}

	/**
	 * 属性taxidenno的setter方法
	 */
	public void setTaxidenno(String taxidenno) {
		this.taxidenno = taxidenno;
	}

	/**
	 * 属性prpDcompanies的getter方法
	 */
	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "prpDcompany")
	public List<PrpDcompany> getPrpDcompanies() {
		return this.prpDcompanies;
	}

	/**
	 * 属性prpDcompanies的setter方法
	 */
	public void setPrpDcompanies(List<PrpDcompany> prpDcompanies) {
		this.prpDcompanies = prpDcompanies;
	}

}
